package com.clear.honghefinance.wechat.service;

import com.clear.honghefinance.wechat.dto.req.GenerateMpQrcodeDTO;
import com.clear.honghefinance.wechat.dto.resp.AccessTokenVO;
import com.clear.honghefinance.wechat.dto.resp.GenerateMpQrcodeVO;

public interface WechatService {


    /**
     * 获取微信公众号Access Token
     *
     * @param appId  appid 第三方用户唯一凭证
     * @param secret secret 第三方用户唯一凭证密钥，即appsecret
     * @return 微信公众号token
     */
    AccessTokenVO getMpAccessToken(String appId, String secret);

    /**
     * 生成微信公众号临时二维码
     *
     * @param token token
     * @param dto
     * @return
     */
    GenerateMpQrcodeVO generateMpQrcodeCreate(String token, GenerateMpQrcodeDTO dto);


    /**
     * 从缓存中获取公众号token
     *
     * @param appid
     * @return
     */

    AccessTokenVO getMpAccessTokenByCache(String appid);

    /**
     * 设置公众号token信息到缓存中
     *
     * @param appid  appid 第三方用户唯一凭证
     * @param secret secret 第三方用户唯一凭证密钥，即appsecret
     */

    void setMpAccessTokenCache(String appid, String secret);

}
